import Vue from 'vue'
import Router from 'vue-router'
import Login from './components/Login.vue'
import Home from './components/Home.vue'
import Welcome from './components/Welcome.vue'
import Users from './user/Users.vue'
import Right from './power/Right.vue'
import Roles from './power/Roles.vue'
import Cate from './goods/Cate.vue'
import Params from './goods/Params.vue'
import GoodsList from './goods/List.vue'
import Add from './goods/Add.vue'
import Order from './order/Order.vue'
import Report from './report/Report.vue'

Vue.use(Router)

const router =  new Router({
  routes: [
    {
      path: '/',
      redirect: '/login'
    },
    {
      path:'/login',
      component:Login
    },{
      path:'/home',
      component:Home,
      redirect: '/welcome',
      children:[
        {
          path:'/welcome',
          component:Welcome
        },
        {
          path:'/users',
          component:Users
        },
        {
          path:'/rights',
          component:Right
        },
        {
          path:'/Roles',
          component:Roles
        },{
          path:'/categories',
          component:Cate
        },{
          path:'/params',
          component:Params
        },{
          path:'/goods',
          component:GoodsList
        },{
          path:'/goods/add',
          component:Add
        },
        {
          path:'/orders',
          component:Order
        },{
          path:'/reports',
          component:Report
        }
      ]
    },
  ]
})

//挂载路由导航守卫
router.beforeEach((to,from,next) => {
  //to将要访问的路径
  //from代表从哪个路径跳转过来
  //next是一个函数，表示放行
  // next()是放行， next('login') 强制跳转
  if(to.path === '/login') return next()
  //获取token
  const tokenStr = window.sessionStorage.getItem('token')
  if(!tokenStr) return next('/login')
  next()
 })

export default router